AWSのアカウント開設後にすべき事をまとめてみた
はじめに
AWSチームのすずきです。
クラウドサービスのAWS、有効なクレジットカードと電話番号があれば、10分ほどでその利用が開始できます。
この様に簡単に取得できるAWSのアカウントですが、その管理が不適切な場合、意図せぬ事故の原因となることがあります。 今回、AWSを安全に安心して利用するため、AWSアカウントを開設後に実施すべき設定についてまとめてみました。
AWS環境が、弊社クラスメソッドメンバーズを初めとする請求代行サービスを利用されている場合、一部当てはまらない項目もありますのでご注意ください。 |
目次
ルートアカウントの保護
AWSのルートアカウントとは、AWSのサインアップ時に登録したメールアドレスをIDとするアカウントです。
全権限が制限なく利用できる最も重要なアカウントとなるので、その保護と、平時の利用を極力避ける為の設定を行います。
Security Credentials 設定画面
MFA(多要素認証)の導入
パスワード文字列の漏洩に備え、ルートアカウントのログイン時、MFA(多要素認証)を必須とします。
アクセスキーとシークレットキーの確認
ルートアカウントのアクセスキーとシークレットキー、X.509 証明書は、万が一漏洩した場合に被害の抑制が困難です。特別な事情がある場合を除き、原則として作成しないか、削除、無効化する事をお勧めします。
IAM(Identity and Access Management)設定
- AWS、ルートアカウントで操作する事を避けるため、管理用のIAMアカウントを作成します。
IAMグループ作成
- IAMの管理者権限付与用のグループを作成します。
IAMユーザの作成
- IAMのユーザを作成します。
- AWSアカウントを複数名で管理する場合、IAMユーザは各個人に発行し、共用は避けるようにします。
IAMユーザをグループに登録
- 作成したIAMユーザ、管理者用IAMグループに追加します。
IAMユーザの認証設定
- EC2の設置権限など、強いIAM権限を付与したユーザは、ルートアカウント同様、MFA(多要素認証)を導入します。
IAMのパスワードポリシーの変更
- IAMユーザのパスワード、安易な文字列は利用禁止とします。
- 文字数は8文字以上、大文字、小文字、数字が混在した文字列をパスワードとする事を推奨します。
- 所属組織の情シスが定めるポリシーがあれば、それに準じた設定を行います。
IAMダッシュボードの確認
- IAMログイン用のURLを確認する事が可能です。
- Security Statusは「Complete」として利用する事を推奨します。
参考: IAMによるAWS権限管理運用ベストプラクティス (1)
請求関連設定(Billing & Cost Management)
AWSコンソール、Billing & Cost Managementのリンクより設定を実施します。
日本語表示切替
Billing & Cost Managementの画面は、日本語表示が可能です。
コストエクスプローラの有効化
- AWSの利用費用を可視化する、コストエクスプローラを利用可能とします。
参考: Cost Explorerを使用したカスタム使用量分析
アカウント設定
代替の連絡先登録
- 請求、操作、セキュリティの連絡先の登録を行います。
- ルートアカウントとして登録したメールアドレス、電話番号が使えない自体に備え、一つはルートアカウントとは異なる連絡先を登録する事をお勧めします。
秘密の質問の設定
- AWSのカスタマーサービスによる本人確認に利用されます。
- MFAデバイス障害などでAWSコンソールへのログインが不能となった際、AWSにサポートを求める際に有効です。
請求情報に対する IAM ユーザーアクセス許可
- デフォルトではIAMユーザによる請求情報へのアクセスは禁止されています。
- ルートアカウントの利用を抑止するため、IAMユーザによる請求情報およびツールへのアクセスを許可します。
参考:
請求関連設定(Billing & Cost Management)
請求情報の通知設定を行います。
請求書のメール通知
- 請求書のメール通知を申し込みます。
- 毎月3〜5日頃、AWS利用費用の明細を含む請求書PDFがメールで届くようになります。
- 意図せぬサービス利用に伴う課金の発生を確認する事が可能です。
請求書PDFのサンプル
請求予定金額のアラート通知
- AWS利用費、us-east-1のCloudWatchメトリックに反映されるようになります。
- 予め指定した料金を超過した際、メール通知を実施する事が可能です。
- 料金通知のアラートは数段階に分けて設置する事をお勧めします。
- 月間AWS利用が30$の場合の設定例
- AWS費用の発生確認用:1$
- 中間費用の確認用:15$
- 想定予算の超過確認用:30$
参考
支払アカウントからリンクアカウントのBilling Alertを設定する
CloudTrailの有効化
CloudTrailは、AWS API の実行ログを取得するサービスです。
意図せぬ利用が発覚した場合の事故調査だけでなく、不正利用が存在しない事を確認するための監査情報としても有効です。 海外を含めた全てのリージョンを、CloudTrailのログ取得対象とする事をお勧めします。
全リージョン、一括処理するスクリプトも公開されています。
新規アカウントでもこれ一発!CloudTrailを全リージョンで有効化するスクリプトを書いた
CloudTrailより出力されるログの容量、利用状況にも大きく前後しますが、多くの場合1日1MB以下です。 ログ出力先となるS3のストレージ費用の抑制が望まれる場合、CloudTrailのログ出力先のS3のライフサイクル指定を行い、一定期間を経過したログを自動削除する事で、コスト影響を抑える事は可能です。
参考 Amazon S3でオブジェクトの有効期限を設定できるようになりました
CloudTrailはCloudWatchLogsと連携し、不正なAWSコンソールログインの通知を行う事も可能です。
参考 AWS管理コンソールの不正ログインをCloudTrail と CloudWatch Logsで検知する
Trusted Advisor チェックの実施
AWS Trusted Advisorは、AWSのベストプラクティスに基づいたチェックが提供されます。
無料サポートの枠内でも一部項目について利用が可能です。
こちらで上げられた黄色、赤色のアラートについては、それが問題の無い設定内容であるか、一度確認される事をお勧めします。
まとめ
AWSではセキュリティ向上に役立つ各種機能が提供されています。今回、紹介する事ができたのはそのごく一部ですが、安心、安全なクラウド利用の参考になれば幸いです。